home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1997 / MacHack 1997.toast / Hacks / Hacks ’96 / Booting Gallery / Booting Gallery (source) / (Libraries) / Fluent Libraries / Utils / DeferredTask.h < prev    next >
Encoding:
Text File  |  1996-06-22  |  564 b   |  34 lines  |  [TEXT/BROW]

  1. // DeferredTask.h
  2. // Created by Bill Hubauer on Sat, Jul 1, 1995 @ 3:09 PM.
  3.  
  4. #ifndef __DeferredTask__
  5. #define __DeferredTask__
  6.  
  7. #ifndef __Semaphore__
  8. #include "Semaphore.h"
  9. #endif
  10.  
  11. class MDeferredTask
  12. {
  13. public:
  14.     MDeferredTask();
  15.     virtual ~MDeferredTask();
  16.     
  17.     Boolean            Defer();
  18.     Boolean            InUseQ()        {return _queued.InUseQ();}
  19.     
  20.     virtual void    DoDeferredTask() = 0;
  21.     void            Kill()            {_killedQ = true;}
  22.     
  23. private:
  24.     static pascal void _TaskProc();
  25.  
  26.     DeferredTask        _task;
  27.     CSemaphore            _queued;
  28.     long                _globals;
  29.     OSType                _validate;
  30.     Boolean                _killedQ;
  31. };
  32.  
  33. #endif
  34.